package org.ttitfly.workflow.factory;

/**
 * 对象工厂
 * 
 * @author 潘海春
 * @version 2008-12-28
 */
public interface ObjectFactory {

	/**
	 * 绑定或重绑定对象
	 * 
	 * @param name
	 * @param bean
	 */
	void bindBean(String name, Object bean);

	/**
	 * 根据名称获取对象
	 * 
	 * @param name
	 * @return
	 * @throws ObjectNameUnavailableException
	 */
	Object getBean(String name) throws ObjectNameUnavailableException;

	/**
	 * 注册对象
	 * 
	 * @param name
	 * @param className
	 * @throws ObjectNameUnavailableException
	 */
	void registBean(String name, String className) throws ObjectNameUnavailableException;

}
